package com.cmc.cloud.cmclink.doc.vo.blnoscnvo;

import lombok.*;

import java.util.*;

import io.swagger.v3.oas.annotations.media.Schema;
import com.cmes.framework.common.pojo.PageParam;
import org.springframework.format.annotation.DateTimeFormat;

import java.time.LocalDateTime;

import static com.cmes.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND;

/**
 * 提单收发通信息分页 Request VO
 *
 * @author codegen
 */
@Schema(description = "管理后台 - 提单收发通信息分页 Request VO")
@Data
@EqualsAndHashCode(callSuper = true)
@ToString(callSuper = true)
@NoArgsConstructor
@AllArgsConstructor
public class BlnoScnPageReqVO extends PageParam {

    @Schema(description = "提单主信息id", example = "21942")
    private Long blnoId;

    @Schema(description = "相关方类型")
    private String partyTypeCode;

    @Schema(description = "公司客商主数据代码")
    private String csmCode;

    @Schema(description = "企业唯一识别码 前缀")
    private String uniqueIdentifierPre;

    @Schema(description = "企业唯一识别码 后缀")
    private String uniqueIdentifierFix;

    @Schema(description = "公司名称", example = "李四")
    private String companyName;

    @Schema(description = "公司地址")
    private String companyAddress;

    @Schema(description = "地址打印标识")
    private Boolean addressPrintFlag;

    @Schema(description = "国家代码")
    private String countryCode;

    @Schema(description = "电话")
    private String telephone;

    @Schema(description = "电话打印标识")
    private Boolean telephonePrintFlag;

    @Schema(description = "邮箱")
    private String email;

    @Schema(description = "邮箱打印标识")
    private Boolean emailPrintFlag;

    @Schema(description = "传真")
    private String fax;

    @Schema(description = "传真打印标识")
    private Boolean faxPrintFlag;

    @Schema(description = "城市")
    private String city;

    @Schema(description = "城市代码")
    private String cityCode;

    @Schema(description = "省份")
    private String province;

    @Schema(description = "省份代码")
    private String provinceCode;

    @Schema(description = "AEO（经认证的经营者）")
    private String aeo;

    @Schema(description = "邮政编码")
    private String zipCode;

    @Schema(description = "创建时间")
    @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
    private LocalDateTime[] createTime;

}
